package com.examsage.examsage.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author examsage
 * @since 2025-07-02
 */
@Data
@Builder
@TableName("system_user")
public class SystemUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 唯一标识
     */
    @TableField("username")
    private String username;

    /**
     * 加密存储
     */
    @TableField("password")
    private String password;

    /**
     * 用户真实姓名
     */
    @TableField("full_name")
    private String fullName;

    /**
     * 如 ADMIN、PLAN_MANAGER
     */
    @TableField("role")
    private String role;

    /**
     * 1: 启用，0: 禁用
     */
    @TableField("status")
    private Boolean status;

    /**
     * 自动生成
     */
    @TableField("gmt_create")
    private LocalDateTime gmtCreate;

    /**
     * 自动更新
     */
    @TableField("gmt_modified")
    private LocalDateTime gmtModified;
}
